$(document).ready(function(){
	$("input[type=text]").keyup(function(){
	  $(this).val( $(this).val().toUpperCase() );
	});
	$("textarea").keyup(function(){
	  $(this).val( $(this).val().toUpperCase() );
	});
	
	$("#divFormularioMediano").hide();
	
	$("#btnNuevo").click(function(){llenarFormulario("");});
	buscar($("#sltCriterio").val(), $("#txtTexto").val(), $("input[name=rdEstado]:checked").val());
	
	$("#sltCategoria").change(obtenerCodigoBarra);
	$("#btnProcesar").click(procesar);
	
	$("#btnBuscar").click(function(){
		buscar($("#sltCriterio").val(), $("#txtTexto").val(), $("input[name=rdEstado]:checked").val());
	});
	
	function buscar(criterio,texto,estado){
		//alert(criterio+" "+texto+" -"+estado);
    	$.ajax({ 
    		data:{
    			criterio:criterio,
    			texto:texto,
    			estado:estado
    		},
            datatype:'json',
            type: "POST", 
            url: "Producto/Listar.htm", 
            success: function(data){
            	//alert(JSON.stringify(data));
            	llenarTabla(data);
            },error: function(jqXHR, textStatus, errorThrown){
            	$.message.Error();
            }
    	});		        	
    }
	
	function llenarFormulario(data){		
    	if(data!=""){
    		$(".error").remove();
    		$("#txtCodigo").val(data.procodigoI);
    		$("#sltCategoria").val(data.categoria.catcodigoI);
    		$("#txtCodBarra").val(data.procodbarraV);
    		$("#txtNombre").val(data.pronombreV);
    		$("#txtDescripcion").val(data.prodescripcionV);
    		$("#txtAbreviatura").val(data.proabrevC);
    		$("#txtPrecioCompra").val(data.propreciocompraD);
    		$("#txtPrecioVenta").val(data.proprecioventaD);
    		$("#txtObservaciones").val(data.proobservacionesV);
    		$("#txtStockMinimo").val(data.prostockminimoI);
    		$("#txtStockMaximo").val(data.prostockmaximoI);
    		$("#txtAplicaciones").val(data.proaplicacionesV);
    		//$("#imgFoto").attr("src","images/no_disponible.jpg");
    		$("#sltEstado").val(data.proestadoC);
        	$("#btnProcesar").val("Guardar");
    		if(data.fotogrande.arcnombreV!=null) $("#imgFoto").attr("src","temp/"+data.fotogrande.arcnombreV);
    		else $("#imgFoto").attr("src","images/no_disponible.jpg");
        	$("#btnProcesar").val("Modificar");
    	}else{
    		$(".error").remove();
    		
    		$("#txtCodigo").val("0");
    		$("#sltCategoria").val("");
    		$("#txtCodBarra").val("");
    		$("#txtNombre").val("");
    		$("#txtDescripcion").val("");
    		$("#txtAbreviatura").val("");
    		$("#txtPrecioCompra").val("0.00");
    		$("#txtPrecioVenta").val("0.00");
    		$("#txtObservaciones").val("");
    		$("#txtStockMinimo").val("0");
    		$("#txtStockMaximo").val("0");
    		$("#txtAplicaciones").val("");
    		$("#sltEstado").val("A");
    		$("#imgFoto").attr("src","images/no_disponible.jpg");
        	$("#btnProcesar").val("Guardar");
    	}
    	$("#divFormularioMediano").show();
    	$("#divFormularioMediano").dialog({
    		title:"Producto",
    		width:600,
    		//height: 600,
    		modal: true
    	});
    }
	
	function obtenerCodigoBarra(){
		$.ajax({ 
    		data:{
    			codigo:$(this).val()
    		},
            datatype:'json',
            type: "GET", 
            url: "Categorias/codigoBarra.htm", 
            success: function(data){
            	$("#txtCodBarra").val(data);
            },error: function(jqXHR, textStatus, errorThrown){
            	$.message.Error();
            }
    	});
	}

	function eliminar(){
		$.ajax({ 
    		data:{
    			codigo:$(this).attr("id").replace("eli","")
    		},
            datatype:'json',
            type: "GET", 
            url: "Producto/Eliminar.htm", 
            success: function(data){
            	//alert(JSON.stringify(data));
            	$.message.Delete();
            },error: function(jqXHR, textStatus, errorThrown){
            	$.message.Error();
            }
    	});		
	}
	
	function obtener(){
		$.ajax({ 
    		data:{
    			codigo:$(this).attr("id").replace("mod","")
    		},
            datatype:'json',
            type: "GET", 
            url: "Producto/Obtener.htm", 
            success: function(data){
            	//alert(JSON.stringify(data));
            	llenarFormulario(data);
            	$.message.Get();
            },error: function(jqXHR, textStatus, errorThrown){
            	$.message.Error();
            }
    	});		
	}
	
	function procesar(){
		$("#divFormularioMediano").validate();
		$.ajax({ 
    		data:{
    			'procodigoI':$("#txtCodigo").val(),
    			'categoria.catcodigoI':$("#sltCategoria").val(),
    			'pronombreV':$("#txtNombre").val(),
    			'prodescripcionV':$("#txtDescripcion").val(),
    			'proabrevC':$("#txtAbreviatura").val(),
    			'propreciocompraD':$("#txtPrecioCompra").val(),
    			'proprecioventaD':$("#txtPrecioVenta").val(),
    			'prostockminimoI':$("#txtStockMinimo").val(),
    			'prostockmaximoI':$("#txtStockMaximo").val(),
    			'proaplicacionesV':$("#txtAplicaciones").val(),
    			'proobservacionesV':$("#txtObservaciones").val(),
    			'fotogrande.arccodigoI':$("#txtCodigoFoto").val(),
    			'proestadoC':$("#sltEstado").val()
    		},
            datatype:'json',
            type: "POST", 
            url: "Producto/Procesar.htm", 
            success: function(data){
            	//alert(JSON.stringify(data));
            	buscar("PRO.PROCODIGO_I", data, "A");
            	$.message.Success();
            	$("#divFormularioMediano").dialog('close');
            },error: function(jqXHR, textStatus, errorThrown){
            	$.message.Error();
            }
    	});	
	}
	
	function llenarTabla(data){
    	if(data==""){ 
    		$("#tblLista").empty();
    		return;
    	}
    	var txtHtml="";
    	$("#tblLista").empty();
    	txtHtml="<thead>"
			+"<th class='header'>NUM</th>"
			+"<th class='header'>CATEGORIA</th>"
			+"<th class='header'>PRODUCTO</th>"
			+"<th class='header'>BARCODE</th>"
			+"<th class='header'>PRECIO COMPRA</th>"
			+"<th class='header'>PRECIO VENTA</th>"
			//+"<th class='header'>STOCK MINIMO</th>"
			//+"<th class='header'>STOCK MAXIMO</th>"
			+"<th class='header'>ESTADO</th>"
			+"<th class='header'>EDITAR</th>"
			+"<th class='header'>ELIMINAR</th>"		
			+"<th class='header'>VER</th>"			
			+"</thead>"
			+"<tfoot>"
			+"<th>NUM</th>"
			+"<th>CATEGORIA</th>"
			+"<th>PRODUCTO</th>"
			+"<th>BARCODE</th>"			
			+"<th>PRECIO COMPRA</th>"			
			+"<th>PRECIO VENTA</th>"			
			//+"<th>STOCK MINIMO</th>"			
			//+"<th>STOCK MAXIMO</th>"			
			+"<th>ESTADO</th>"			
			+"<th>EDITAR</th>"			
			+"<th>ELIMINAR</th>"	
			+"<th>VER</th>"			
			+"</tfoot>"
			+"<tbody></tbody>";
			$("#tblLista").append(txtHtml);
    	for(var x=0;x<data.length;x++){
    		txtHtml="<tr>"+
			"<td>"+(x+1)+"</td>"+
			"<td>"+data[x].categoria.catnombreV+"</td>"+
			"<td>"+data[x].pronombreV+"</td>"+
			"<td>"+data[x].procodbarraV+"</td>"+
			"<td>"+data[x].propreciocompraD+"</td>"+
			"<td>"+data[x].proprecioventaD+"</td>"+
			//"<td>"+data[x].prostockminimoI+"</td>"+
			//"<td>"+data[x].prostockmaximoI+"</td>"+
			"<td>"+data[x].proestadoC+"</td>"+
			"<td><img alt='Modificar' class='btnModificar' id='mod"+data[x].procodigoI+"' src='images/edit.png'></td>"+			
			"<td><img alt='Eliminar' class='btnEliminar' id='eli"+data[x].procodigoI+"' src='images/delete.png'></td>"+		
			"<td><img alt='Ver' class='btnVer' id='ver"+data[x].procodigoI+"' src='images/find.png'></td>"+			
			"</tr>";
    		$("#tblLista tbody").append(txtHtml);
    	}
		
    	$(".btnModificar").click(obtener);
    	$(".btnEliminar").click(eliminar);
    	$("#tblLista").paginacion();
    }
	
	//FOTO
    $(".formFoto").submit(function(){
    	var options={
    			type: "POST", 
                url:'Producto/Foto.htm',
                dataType:'json',
                beforeSubmit:function(){
                    $("#progressFoto").show();
                },
                uploadProgress: function(event, position, total, percentComplete) {
                	$("#progressFoto").progressbar({
                        value: percentComplete
                	});
                },
                success: function(responseText, statusText) {     
                	$("#imgFoto").attr("src","temp/"+responseText);
                    $("#progressFoto").hide();
                    $("#progressFoto").progressbar({
                        value: 0
                	});
                },
                error:function(){
                    alert("ERROR");
                }
            };
            $(this).ajaxSubmit(options);
            return false;
    });
    
    $("#btnCancelar").click(function(){$("#divFormularioMediano").dialog('close');});
});